package uva.sc.ql.gui; import java.awt.Component; import java.awt.Dimension; import java.awt.GridLayout; import java.util.List; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import uva.sc.ql.atom.ID; import uva.sc.ql.gui.helpers.ListenerHelper; public class DrawQuestionnaire extends ListenerHelper { private List<Component> componentList; private ID formTitle; public DrawQuestionnaire(List<Component> componentList, ID formTitle) { this.componentList = componentList; this.formTitle = formTitle; } public void render() { JPanel questionnairePanel = new JPanel(); questionnairePanel.setLayout(new GridLayout(componentList.size(), 0)); addComponentsToPanel(questionnairePanel); draw(questionnairePanel); } private void addComponentsToPanel(JPanel questionnairePanel) { for (Component component : componentList) { questionnairePanel.add(component); } } private void draw(JPanel questionnairePanel) { JScrollPane scrollerPane = new JScrollPane(questionnairePanel); scrollerPane.setPreferredSize(new Dimension(300, 600)); JFrame frame = new JFrame(); frame.setTitle(formTitle.getValue()); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.add(scrollerPane); frame.pack(); frame.setLocationRelativeTo(null); frame.setVisible(true); } }